// Aufgabe_5_4_Spiel

var db = 30.0; // Balldurchmesser
var xb = 50.0; // x-Starposition des Balls
var yb = 50.0; // y-Startposition des Balls
var vby = 5.0; // Startgeschwindigkeit des Balls in x-Richtung
var s = 100.0; // Größe des Korbes
var p = 0; // Zahl der Treffer (Punkte)

function setup(){
  createCanvas(600, 400);
}

function draw(){
  background(230, 230, 210);

  // Wände
  stroke(0, 180, 0);
  strokeWeight(15);
  line(0, 0, 600, 0);
  line(0, 400, 600, 400);
  line(0, 0, 0, 400);
  line(600, 0, 600, 400);

  // Ball
  yb = yb + vby;
  stroke(255, 0, 0);
  strokeWeight(1);
  fill(255, 255, 0);
  ellipse(xb, yb, db, db);

  // Korb
  noStroke();
  strokeWeight(50);
  fill(255, 0, 0, 150);
  rect(mouseX-s/2, height, s, -50);


  /* Bedingungen für den Punktgewinn beim Auffangen des Balls mit
	dem Korb und Erhöhung der Ballgeschwindigkeit in y-Richtung */
  if ((abs(mouseX-xb) < 50) && yb >= height){
    p++;
    vby = vby*1.2;
    yb = 0;
    xb = random(width);
	}

  // Wenn ein Ball den Boden erreicht, wird ein neuer Ball erzeugt
  else if (yb >= height && (abs(mouseX-xb) > 50)  ){
    yb = 0;
    vby = 5;
    xb = random(width);
  }

  // Text Punktangabe
	noStroke();
  fill(0, 0, 255);
  textSize(30);
  text("Punkte " +p, 50, 100);
  fill(0);
  text("Zeit " +round((30-millis()/1000)), 50, 50);

  // Zeitliche Begrenzung für das Spiel
  if (millis()/1000 >= 30 ){
    fill(255, 0, 0);
    text("Spielende!", 50, 150);
    noLoop();
  }
}
